/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.netmaster.coitaonline.mb;

import com.netmaster.coitaonline.pojo.Usuario;
import com.netmaster.coitaonline.service.UsuarioService;
import com.netmaster.coitaonline.view.datamodel.UsuarioDataModel;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.RequestScoped;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Sergio
 */
@ManagedBean
@RequestScoped
public class TiketMB {

    private List<Usuario> clientes;
    private Usuario[] usuarioSelected;
    private UsuarioDataModel model;
    private Date fecha;

    @ManagedProperty("#{usuarioServiceImpl}")
    private UsuarioService usuarioSrv;

    /**
     * Creates a new instance of TiketMB
     */
    public TiketMB() {
    }

    @PostConstruct
    public void init() {
        clientes = new ArrayList();
        clientes = usuarioSrv.allUsuario();
        model = new UsuarioDataModel(clientes);
        fecha = new Date();
    }

    public void imprime() {
        FacesContext.getCurrentInstance().getExternalContext().getRequest();
    }

    public void forward() {
        try {
            FacesContext ctx = FacesContext.getCurrentInstance();
            ExternalContext ectx = ctx.getExternalContext();
            HttpServletRequest request = (HttpServletRequest) ectx.getRequest();
            HttpServletResponse response = (HttpServletResponse) ectx.getResponse();
            request.setAttribute("usuarioSelected", usuarioSelected);
            request.setAttribute("fecha", fecha);
            String url = "/ViewTicketPdf.do";
            RequestDispatcher dispatcher = request.getRequestDispatcher(url);
            dispatcher.forward(request, response);
            ctx.responseComplete();
        } catch (ServletException ex) {
            ex.printStackTrace();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }

    public List<Usuario> getClientes() {
        return clientes;
    }

    public void setUsuarioSrv(UsuarioService usuarioSrv) {
        this.usuarioSrv = usuarioSrv;
    }

    public Usuario[] getUsuarioSelected() {
        return usuarioSelected;
    }

    public void setUsuarioSelected(Usuario[] usuarioSelected) {
        this.usuarioSelected = usuarioSelected;
    }

    public UsuarioDataModel getModel() {
        return model;
    }

    public void setModel(UsuarioDataModel model) {
        this.model = model;
    }

    public Date getFecha() {
        return fecha;
    }

    public void setFecha(Date fecha) {
        this.fecha = fecha;
    }
}
